
#ifndef __Config_H_
#define __Config_H_


/** If set to 1, profiling code will be included in the application. When you
	are deploying your application you will probably want to set this to 0 */
#ifndef Apo_PROFILING
#define Apo_PROFILING 0
#endif

/** There are three modes for handling asserts in OGRE:
0 - STANDARD - Standard asserts in debug builds, nothing in release builds
1 - RELEASE_EXCEPTIONS - Standard asserts in debug builds, exceptions in release builds
2 - EXCEPTIONS - Exceptions in debug builds, exceptions in release builds
*/
#define Apo_ASSERT_MODE 0



/** Define this if you want to link OGRE as a static lib (preferably as a project file)
*/
//#define Apo_STATIC_LIB


// define the memory allocator configuration to use
#define Apo_MEMORY_ALLOCATOR_STD 1
#define Apo_MEMORY_ALLOCATOR_NED 2
#define Apo_MEMORY_ALLOCATOR_USER 3
#define Apo_MEMORY_ALLOCATOR_NEDPOOLING 4

#ifndef Apo_MEMORY_ALLOCATOR
#  define Apo_MEMORY_ALLOCATOR Apo_MEMORY_ALLOCATOR_NEDPOOLING
#endif

// Whether to use the custom memory allocator in STL containers
#ifndef Apo_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR
#  define Apo_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR 1
#endif

//if you want to make Ogre::String use the custom memory allocator then set:
//#define Apo_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 1
// Doing this will mean Ogre's strings will not be compatible with std::string however
#ifndef Apo_STRING_USE_CUSTOM_MEMORY_ALLOCATOR
#	define Apo_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 0
#endif

// enable or disable the memory tracker, recording the memory allocations & tracking leaks
// default is to disable since it's expensive, but you can enable if needed per build target




#endif
